Spring bean生命周期配置过程解析 | 您所在的位置:网站首页 › speing bean生命周期 › Spring bean生命周期配置过程解析 |
Spring bean生命周期配置过程解析 1.实例化bean AbstractAutowireCapableBeanFactory类中的 createBeanInstance(beanName, mbd, args); 2.为bean注入属性 AbstractAutowireCapableBeanFactory类中的 populateBean(beanName, mbd, instanceWrapper); 3.调用各种实现的Aware接口(BeanNameAware, BeanFactoryAware, ApplicationContextAware),调用相关的set方法 AbstractAutowireCapableBeanFactory 类中 invokeAwareMethods(beanName, bean); 4.调用BeanPostProcessor的postProcessBeforeInitialization方法 AbstractAutowireqakaicCapableBeanFactory 类中 applyBeanPostProcessorsBeforeInitialization(wrappedBean, beanName); 5.调用InitializingBean的afterPropertiesSet方法 AbstractAutowireCapableBeanFactory 类中 invokeInitMethods(beanName, wrappedBean, mbd); 6.调用定制的init方法(xml配置的init-method方法或者@Bean(initMethod="xx") ) AbstractAutowireCapableBeanFactory 类中 invokeInitMethods(beanName, wrappedBean, mbd); 7.调用BeanPostProcessor的postProcessAfterInitializarion方法 AbstractAutowireCapableBeanFactory 类中 applyBeanPostProcessorsAfterInitialization(wrappedBean, beanName); bean就准就绪了。 8.调用DisposableBean接口的destory()方法(如果bean实现的话) 9.调用定制destory方法(xml配置的destory-method方法或者#Bean(destory="xx")) |
CopyRight 2018-2019 实验室设备网 版权所有 |